static void backend_changed(struct xenbus_device *dev,
enum xenbus_state backend_state)
{
- struct tpm_private *tp = dev->data;
+ struct tpm_private *tp = dev->dev.driver_data;
DPRINTK("\n");
switch (backend_state) {
}
tp->dev = dev;
- dev->data = tp;
+ dev->dev.driver_data = tp;
err = talk_to_backend(dev, tp);
if (err) {
tpm_private_put();
- dev->data = NULL;
+ dev->dev.driver_data = NULL;
return err;
}
return 0;
static int tpmfront_remove(struct xenbus_device *dev)
{
- struct tpm_private *tp = (struct tpm_private *)dev->data;
+ struct tpm_private *tp = (struct tpm_private *)dev->dev.driver_data;
destroy_tpmring(tp);
return 0;
}
static int tpmfront_suspend(struct xenbus_device *dev)
{
- struct tpm_private *tp = (struct tpm_private *)dev->data;
+ struct tpm_private *tp = (struct tpm_private *)dev->dev.driver_data;
u32 ctr;
/* lock, so no app can send */
static int tpmfront_resume(struct xenbus_device *dev)
{
- struct tpm_private *tp = (struct tpm_private *)dev->data;
+ struct tpm_private *tp = (struct tpm_private *)dev->dev.driver_data;
destroy_tpmring(tp);
return talk_to_backend(dev, tp);
}
struct device_attribute *attr, char *buf)
{
struct xenbus_device *dev = to_xenbus_device(_dev);
- struct backend_info *be = dev->data;
+ struct backend_info *be = dev->dev.driver_data;
return sprintf(buf, "%x:%x\n", be->major, be->minor);
}
DEVICE_ATTR(physical_device, S_IRUSR | S_IRGRP | S_IROTH,
char *buf)
{
struct xenbus_device *dev = to_xenbus_device(_dev);
- struct backend_info *be = dev->data;
+ struct backend_info *be = dev->dev.driver_data;
return sprintf(buf, "%s\n", be->mode);
}
DEVICE_ATTR(mode, S_IRUSR | S_IRGRP | S_IROTH, show_mode, NULL);
static int blkback_remove(struct xenbus_device *dev)
{
- struct backend_info *be = dev->data;
+ struct backend_info *be = dev->dev.driver_data;
DPRINTK("");
device_remove_file(&dev->dev, &dev_attr_mode);
kfree(be);
- dev->data = NULL;
+ dev->dev.driver_data = NULL;
return 0;
}
return -ENOMEM;
}
be->dev = dev;
- dev->data = be;
+ dev->dev.driver_data = be;
be->blkif = blkif_alloc(dev->otherend_id);
if (IS_ERR(be->blkif)) {
static void frontend_changed(struct xenbus_device *dev,
enum xenbus_state frontend_state)
{
- struct backend_info *be = dev->data;
+ struct backend_info *be = dev->dev.driver_data;
int err;
DPRINTK("");
/* Front end dir is a number, which is used as the id. */
info->handle = simple_strtoul(strrchr(dev->nodename,'/')+1, NULL, 0);
- dev->data = info;
+ dev->dev.driver_data = info;
err = talk_to_backend(dev, info);
if (err) {
kfree(info);
- dev->data = NULL;
+ dev->dev.driver_data = NULL;
return err;
}
*/
static int blkfront_resume(struct xenbus_device *dev)
{
- struct blkfront_info *info = dev->data;
+ struct blkfront_info *info = dev->dev.driver_data;
int err;
DPRINTK("blkfront_resume: %s\n", dev->nodename);
static void backend_changed(struct xenbus_device *dev,
enum xenbus_state backend_state)
{
- struct blkfront_info *info = dev->data;
+ struct blkfront_info *info = dev->dev.driver_data;
struct block_device *bd;
DPRINTK("blkfront:backend_changed.\n");
*/
static void blkfront_closing(struct xenbus_device *dev)
{
- struct blkfront_info *info = dev->data;
+ struct blkfront_info *info = dev->dev.driver_data;
DPRINTK("blkfront_closing: %s removed\n", dev->nodename);
static int blkfront_remove(struct xenbus_device *dev)
{
- struct blkfront_info *info = dev->data;
+ struct blkfront_info *info = dev->dev.driver_data;
DPRINTK("blkfront_remove: %s removed\n", dev->nodename);
static int netback_remove(struct xenbus_device *dev)
{
- struct backend_info *be = dev->data;
+ struct backend_info *be = dev->dev.driver_data;
if (be->backend_watch.node) {
unregister_xenbus_watch(&be->backend_watch);
be->netif = NULL;
}
kfree(be);
- dev->data = NULL;
+ dev->dev.driver_data = NULL;
return 0;
}
}
be->dev = dev;
- dev->data = be;
+ dev->dev.driver_data = be;
err = xenbus_watch_path2(dev, dev->nodename, "handle",
&be->backend_watch, backend_changed);
static int netback_uevent(struct xenbus_device *xdev, char **envp,
int num_envp, char *buffer, int buffer_size)
{
- struct backend_info *be = xdev->data;
+ struct backend_info *be = xdev->dev.driver_data;
netif_t *netif = be->netif;
int i = 0, length = 0;
char *val;
static void frontend_changed(struct xenbus_device *dev,
enum xenbus_state frontend_state)
{
- struct backend_info *be = dev->data;
+ struct backend_info *be = dev->dev.driver_data;
DPRINTK("");
}
info = netdev_priv(netdev);
- dev->data = info;
+ dev->dev.driver_data = info;
err = talk_to_backend(dev, info);
if (err) {
xennet_sysfs_delif(info->netdev);
unregister_netdev(netdev);
free_netdev(netdev);
- dev->data = NULL;
+ dev->dev.driver_data = NULL;
return err;
}
*/
static int netfront_resume(struct xenbus_device *dev)
{
- struct netfront_info *info = dev->data;
+ struct netfront_info *info = dev->dev.driver_data;
DPRINTK("%s\n", dev->nodename);
static void backend_changed(struct xenbus_device *dev,
enum xenbus_state backend_state)
{
- struct netfront_info *np = dev->data;
+ struct netfront_info *np = dev->dev.driver_data;
struct net_device *netdev = np->netdev;
DPRINTK("\n");
*/
static void netfront_closing(struct xenbus_device *dev)
{
- struct netfront_info *info = dev->data;
+ struct netfront_info *info = dev->dev.driver_data;
DPRINTK("netfront_closing: %s removed\n", dev->nodename);
static int __devexit netfront_remove(struct xenbus_device *dev)
{
- struct netfront_info *info = dev->data;
+ struct netfront_info *info = dev->dev.driver_data;
DPRINTK("%s\n", dev->nodename);
dev_dbg(&xdev->dev, "allocated pdev @ 0x%p\n", pdev);
pdev->xdev = xdev;
- xdev->data = pdev;
+ xdev->dev.driver_data = pdev;
spin_lock_init(&pdev->dev_lock);
pciback_release_devices(pdev);
- pdev->xdev->data = NULL;
+ pdev->xdev->dev.driver_data = NULL;
pdev->xdev = NULL;
kfree(pdev);
static void pciback_frontend_changed(struct xenbus_device *xdev,
enum xenbus_state fe_state)
{
- struct pciback_device *pdev = xdev->data;
+ struct pciback_device *pdev = xdev->dev.driver_data;
dev_dbg(&xdev->dev, "fe state changed %d\n", fe_state);
static int pciback_xenbus_remove(struct xenbus_device *dev)
{
- struct pciback_device *pdev = dev->data;
+ struct pciback_device *pdev = dev->dev.driver_data;
if (pdev != NULL)
free_pdev(pdev);
}
pdev->sh_info->flags = 0;
- xdev->data = pdev;
+ xdev->dev.driver_data = pdev;
pdev->xdev = xdev;
INIT_LIST_HEAD(&pdev->root_buses);
gnttab_end_foreign_access(pdev->gnt_ref, 0,
(unsigned long)pdev->sh_info);
- pdev->xdev->data = NULL;
+ pdev->xdev->dev.driver_data = NULL;
kfree(pdev);
}
static void pcifront_backend_changed(struct xenbus_device *xdev,
enum xenbus_state be_state)
{
- struct pcifront_device *pdev = xdev->data;
+ struct pcifront_device *pdev = xdev->dev.driver_data;
switch (be_state) {
case XenbusStateClosing:
static int pcifront_xenbus_remove(struct xenbus_device *xdev)
{
- if (xdev->data)
- free_pdev(xdev->data);
+ if (xdev->dev.driver_data)
+ free_pdev(xdev->dev.driver_data);
return 0;
}
static int tpmback_remove(struct xenbus_device *dev)
{
- struct backend_info *be = dev->data;
+ struct backend_info *be = dev->dev.driver_data;
if (!be) return 0;
be->tpmif = NULL;
}
kfree(be);
- dev->data = NULL;
+ dev->dev.driver_data = NULL;
return 0;
}
be->is_instance_set = 0;
be->dev = dev;
- dev->data = be;
+ dev->dev.driver_data = be;
err = xenbus_watch_path2(dev, dev->nodename,
"instance", &be->backend_watch,
static void frontend_changed(struct xenbus_device *dev,
enum xenbus_state frontend_state)
{
- struct backend_info *be = dev->data;
+ struct backend_info *be = dev->dev.driver_data;
int err;
be->frontend_state = frontend_state;
struct xenbus_watch otherend_watch;
struct device dev;
enum xenbus_state state;
- void *data;
};
static inline struct xenbus_device *to_xenbus_device(struct device *dev)